package edu.pku.sei.transformation.mtparser;

public class MTLexerprs implements lpg.runtime.ParseTable, MTLexersym {
    public final static int ERROR_SYMBOL = 0;
    public final int getErrorSymbol() { return ERROR_SYMBOL; }

    public final static int SCOPE_UBOUND = 0;
    public final int getScopeUbound() { return SCOPE_UBOUND; }

    public final static int SCOPE_SIZE = 0;
    public final int getScopeSize() { return SCOPE_SIZE; }

    public final static int MAX_NAME_LENGTH = 0;
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int NUM_STATES = 24;
    public final int getNumStates() { return NUM_STATES; }

    public final static int NT_OFFSET = 103;
    public final int getNtOffset() { return NT_OFFSET; }

    public final static int LA_STATE_OFFSET = 399;
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }

    public final static int MAX_LA = 1;
    public final int getMaxLa() { return MAX_LA; }

    public final static int NUM_RULES = 156;
    public final int getNumRules() { return NUM_RULES; }

    public final static int NUM_NONTERMINALS = 24;
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }

    public final static int NUM_SYMBOLS = 127;
    public final int getNumSymbols() { return NUM_SYMBOLS; }

    public final static int SEGMENT_SIZE = 8192;
    public final int getSegmentSize() { return SEGMENT_SIZE; }

    public final static int START_STATE = 157;
    public final int getStartState() { return START_STATE; }

    public final static int IDENTIFIER_SYMBOL = 0;
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }

    public final static int EOFT_SYMBOL = 81;
    public final int getEoftSymbol() { return EOFT_SYMBOL; }

    public final static int EOLT_SYMBOL = 104;
    public final int getEoltSymbol() { return EOLT_SYMBOL; }

    public final static int ACCEPT_ACTION = 242;
    public final int getAcceptAction() { return ACCEPT_ACTION; }

    public final static int ERROR_ACTION = 243;
    public final int getErrorAction() { return ERROR_ACTION; }

    public final static boolean BACKTRACK = false;
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int getStartSymbol() { return lhs(0); }
    public final boolean isValidForParser() { return MTLexersym.isValidForParser; }


    public interface IsNullable {
        public final static byte isNullable[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,1,0,0,
            0,0,0,0,0,0,0
        };
    };
    public final static byte isNullable[] = IsNullable.isNullable;
    public final boolean isNullable(int index) { return isNullable[index] != 0; }

    public interface ProsthesesIndex {
        public final static byte prosthesesIndex[] = {0,
            12,9,15,16,17,18,11,13,14,19,
            22,23,2,3,4,5,6,7,8,10,
            20,21,24,1
        };
    };
    public final static byte prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static byte baseCheck[] = {0,
            1,3,1,1,1,1,1,1,1,1,
            1,1,1,2,1,1,1,2,1,1,
            1,1,1,1,2,2,1,2,3,2,
            3,3,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,2,1,2,2,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,2,1,1,1,1,1,1,1,
            1,1,1,2,0,1
        };
    };
    public final static byte baseCheck[] = BaseCheck.baseCheck;
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static byte rhs[] = baseCheck;
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction {
        public final static char baseAction[] = {
            13,13,13,13,13,13,13,13,13,13,
            13,13,13,13,13,13,13,13,13,13,
            13,13,18,16,17,17,17,2,2,20,
            7,7,7,9,9,9,9,9,3,3,
            4,4,4,4,4,4,4,4,4,4,
            4,4,4,4,4,4,4,4,4,4,
            4,4,4,4,4,4,5,5,5,5,
            5,5,5,5,5,5,5,5,5,5,
            5,5,5,5,5,5,5,5,5,5,
            5,5,1,1,1,1,1,1,1,1,
            1,1,8,8,19,19,14,14,14,6,
            6,6,6,6,6,6,6,6,6,6,
            6,6,6,6,6,6,6,6,6,6,
            6,6,6,6,6,6,6,10,10,21,
            21,21,21,11,22,22,22,22,12,12,
            12,12,12,23,23,15,15,289,238,214,
            237,237,237,509,389,108,239,107,107,107,
            180,164,105,3,4,20,163,209,97,240,
            510,240,240,240,240,465,191,191,240,240,
            240,498,28,236,193,154,511,154,154,154,
            154,194,518,28,154,154,154,1,143,529,
            143,143,143,143,452,28,25,185,370,202,
            202,26,185,476,226,226,543,28,143,143,
            487,233,233,554,28,512,513,514,515,516,
            530,243,243
        };
    };
    public final static char baseAction[] = BaseAction.baseAction;
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static byte termCheck[] = {0,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,
            60,61,62,63,64,65,66,67,68,69,
            70,71,72,73,74,75,76,77,78,79,
            80,0,82,83,84,85,86,87,88,89,
            90,91,92,93,94,95,0,1,2,3,
            4,5,6,7,8,9,10,11,12,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,28,29,30,31,32,33,
            34,35,36,37,38,39,40,41,42,43,
            44,45,46,47,48,49,50,51,52,53,
            54,55,56,57,58,59,60,61,62,63,
            64,65,66,67,0,69,70,71,72,73,
            74,75,76,77,78,79,80,0,82,83,
            84,85,86,87,88,89,90,91,92,93,
            94,95,0,1,2,3,4,5,6,7,
            8,9,10,11,12,13,14,15,16,17,
            18,19,20,21,22,23,24,25,26,27,
            28,29,30,31,32,33,34,35,36,37,
            38,39,40,41,42,43,44,45,46,47,
            48,49,50,51,52,53,54,55,56,57,
            58,59,60,61,62,63,64,65,66,67,
            0,69,70,71,72,73,74,75,76,77,
            78,79,80,0,82,83,84,85,86,87,
            88,89,90,91,92,93,94,95,0,1,
            2,3,4,5,6,7,8,9,10,11,
            12,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,28,29,30,31,
            32,33,34,35,36,37,38,39,40,41,
            42,43,44,45,46,47,48,49,50,51,
            52,53,54,55,56,57,58,59,60,61,
            62,63,64,65,66,67,68,69,70,71,
            72,73,74,75,76,0,78,79,80,0,
            1,2,3,4,5,6,7,8,9,10,
            0,0,0,0,96,97,98,99,0,1,
            2,3,4,5,6,7,8,9,10,11,
            12,13,14,15,16,17,18,19,20,21,
            22,23,24,25,26,27,28,29,30,31,
            32,33,34,35,36,37,38,39,40,41,
            42,43,44,45,46,47,48,49,50,51,
            52,53,54,55,56,57,58,59,60,61,
            62,0,1,2,3,4,5,6,7,8,
            9,10,11,12,0,1,2,3,4,5,
            6,7,8,9,10,0,1,2,3,4,
            5,6,7,8,9,10,0,1,2,3,
            4,5,6,7,8,9,10,0,1,2,
            3,4,5,6,7,8,9,10,0,0,
            0,0,0,0,0,0,65,0,1,2,
            3,4,5,6,7,8,9,10,0,0,
            0,67,0,0,0,0,0,0,0,11,
            12,77,0,1,2,3,4,5,6,7,
            8,9,10,0,1,2,3,4,5,6,
            7,8,9,10,0,0,0,0,0,0,
            0,63,0,0,64,0,0,66,0,0,
            68,0,0,0,0,0,0,0,0,0,
            81,0,0,0,81,81,81,68,0,0,
            0,0,0,0,96,97,98,99,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0
        };
    };
    public final static byte termCheck[] = TermCheck.termCheck;
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            243,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,386,386,386,386,
            386,243,386,386,386,386,386,386,386,386,
            386,386,386,386,386,386,155,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,240,240,240,240,240,240,
            240,240,240,240,243,240,240,240,240,240,
            240,240,240,240,240,240,240,243,240,240,
            240,240,240,240,240,240,240,240,207,240,
            240,240,156,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            397,397,397,397,397,397,397,397,397,397,
            243,397,397,397,397,397,397,397,397,397,
            397,397,397,243,397,397,397,397,397,397,
            397,397,397,397,207,397,397,397,243,238,
            238,238,238,238,238,238,238,238,238,237,
            237,237,237,237,237,237,237,237,237,237,
            237,237,237,237,237,237,237,237,237,237,
            237,237,237,237,237,237,237,237,237,237,
            237,237,237,237,237,237,237,237,237,237,
            237,237,237,237,237,237,237,237,237,237,
            237,239,196,265,250,235,178,258,262,255,
            256,253,254,259,251,243,248,249,252,243,
            202,202,202,202,202,202,202,202,202,202,
            243,243,243,243,239,239,239,239,1,351,
            351,351,351,351,351,351,351,351,351,350,
            350,350,350,350,350,350,350,350,350,350,
            350,350,350,350,350,350,350,350,350,350,
            350,350,350,350,350,350,350,350,350,350,
            350,350,350,350,350,350,350,350,350,350,
            350,350,350,350,350,350,350,350,350,350,
            350,23,271,271,271,271,271,271,271,271,
            271,271,185,185,243,191,191,191,191,191,
            191,191,191,191,191,243,226,226,226,226,
            226,226,226,226,226,226,243,233,233,233,
            233,233,233,233,233,233,233,30,271,271,
            271,271,271,271,271,271,271,271,21,243,
            17,243,243,106,27,104,218,29,271,271,
            271,271,271,271,271,271,271,271,4,153,
            243,230,243,243,243,243,243,243,243,185,
            185,223,32,271,271,271,271,271,271,271,
            271,271,271,31,271,271,271,271,271,271,
            271,271,271,271,243,243,243,243,243,243,
            243,348,243,243,261,243,243,257,243,243,
            245,243,243,243,243,243,243,243,243,243,
            242,243,243,243,1,23,21,156,243,243,
            243,243,243,243,348,348,348,348
        };
    };
    public final static char termAction[] = TermAction.termAction;
    public final int termAction(int index) { return termAction[index]; }
    public final int asb(int index) { return 0; }
    public final int asr(int index) { return 0; }
    public final int nasb(int index) { return 0; }
    public final int nasr(int index) { return 0; }
    public final int terminalIndex(int index) { return 0; }
    public final int nonterminalIndex(int index) { return 0; }
    public final int scopePrefix(int index) { return 0;}
    public final int scopeSuffix(int index) { return 0;}
    public final int scopeLhs(int index) { return 0;}
    public final int scopeLa(int index) { return 0;}
    public final int scopeStateSet(int index) { return 0;}
    public final int scopeRhs(int index) { return 0;}
    public final int scopeState(int index) { return 0;}
    public final int inSymb(int index) { return 0;}
    public final String name(int index) { return null; }
    public final int originalState(int state) { return 0; }
    public final int asi(int state) { return 0; }
    public final int nasi(int state) { return 0; }
    public final int inSymbol(int state) { return 0; }

    /**
     * assert(! goto_default);
     */
    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    /**
     * assert(! shift_default);
     */
    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
